Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / legacy / prepare_py38_sources.py

Displaying Raw • Download


scripts/legacy/prepare_py38_sources.py legacy/win7 (159b2358) Text, 1.46 KB

T8b949e#!/usr/bin/env python3
T8b949e# SPDX-License-Identifier: 0BSD

T8b949e"""Add ``from __future__ import annotations`` to MeshChatX Python sources for 3.8."""

Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations

Tff7b72import T7ee787sys
Tff7b72from T7ee787pathlib Tff7b72import Te6edf3Path

Te6edf3ROOT Tff7b72= Te6edf3PathTb4b4b4(Tff7b72__file__Tb4b4b4)Tff7b72.Td2a8ffresolveTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffparentsTb4b4b4[T79c0ff2Tb4b4b4]
Te6edf3TARGETS Tff7b72= Tb4b4b4[Te6edf3ROOT Tff7b72/ Ta5d6ff"Ta5d6ffmeshchatxTa5d6ff"Tb4b4b4, Te6edf3ROOT Tff7b72/ Ta5d6ff"Ta5d6ffvendorTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6fflxmfyTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6fflxmfyTa5d6ff"Tb4b4b4]
Te6edf3FUTURE_LINE Tff7b72= Ta5d6ff"Ta5d6fffrom __future__ import annotationsTffea00\nTa5d6ff"
Te6edf3MARKER Tff7b72= Te6edf3FUTURE_LINETff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)


Tff7b72def Td2a8ffshould_skipTb4b4b4(Te6edf3pathTb4b4b4: Te6edf3PathTb4b4b4) Tff7b72-Tff7b72> Tffa657boolTb4b4b4:
Tff7b72return Te6edf3pathTff7b72.Td2a8ffname Tff7b72== Ta5d6ff"Ta5d6ffcompat_py38.pyTa5d6ff"


Tff7b72def Td2a8ffinsert_future_importTb4b4b4(Te6edf3pathTb4b4b4: Te6edf3PathTb4b4b4) Tff7b72-Tff7b72> Tffa657boolTb4b4b4:
Te6edf3text Tff7b72= Te6edf3pathTff7b72.Td2a8ffread_textTb4b4b4(Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72if Te6edf3MARKER Tff7b72in Te6edf3textTb4b4b4:
Tff7b72return Tff7b72False
Te6edf3lines Tff7b72= Te6edf3textTff7b72.Td2a8ffsplitlinesTb4b4b4(Te6edf3keependsTff7b72=Tff7b72TrueTb4b4b4)
Te6edf3insert_at Tff7b72= T79c0ff0
Tff7b72if Te6edf3lines Tff7b72and Te6edf3linesTb4b4b4[T79c0ff0Tb4b4b4]Tff7b72.Td2a8ffstartswithTb4b4b4(Ta5d6ff"Ta5d6ff#!Ta5d6ff"Tb4b4b4)Tb4b4b4:
Te6edf3insert_at Tff7b72= T79c0ff1
Tff7b72while Te6edf3insert_at Tff7b72< Tffa657lenTb4b4b4(Te6edf3linesTb4b4b4) Tff7b72and Tb4b4b4(
Te6edf3linesTb4b4b4[Te6edf3insert_atTb4b4b4]Tff7b72.Td2a8ffstartswithTb4b4b4(Ta5d6ff"Ta5d6ff#Ta5d6ff"Tb4b4b4) Tff7b72or Te6edf3linesTb4b4b4[Te6edf3insert_atTb4b4b4]Tff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ff"
Tb4b4b4)Tb4b4b4:
Te6edf3insert_at Tff7b72+Tff7b72= T79c0ff1
Te6edf3linesTff7b72.Td2a8ffinsertTb4b4b4(Te6edf3insert_atTb4b4b4, Te6edf3FUTURE_LINETb4b4b4)
Te6edf3pathTff7b72.Td2a8ffwrite_textTb4b4b4(Ta5d6ff"Ta5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3linesTb4b4b4)Tb4b4b4, Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72return Tff7b72True


Tff7b72def Td2a8ffmainTb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657intTb4b4b4:
Te6edf3changed Tff7b72= T79c0ff0
Tff7b72for Te6edf3base Tff7b72in Te6edf3TARGETSTb4b4b4:
Tff7b72if Tff7b72not Te6edf3baseTff7b72.Td2a8ffis_dirTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72continue
Tff7b72for Te6edf3path Tff7b72in Tffa657sortedTb4b4b4(Te6edf3baseTff7b72.Td2a8ffrglobTb4b4b4(Ta5d6ff"Ta5d6ff*.pyTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3should_skipTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4:
Tff7b72continue
Tff7b72if Te6edf3insert_future_importTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4:
Te6edf3changed Tff7b72+Tff7b72= T79c0ff1
Tffa657printTb4b4b4(Te6edf3pathTff7b72.Td2a8ffrelative_toTb4b4b4(Te6edf3ROOTTb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ffUpdated Tffd700{Te6edf3changedTffd700}Ta5d6ff file(s).Ta5d6ff"Tb4b4b4)
Tff7b72return T79c0ff0


Tff7b72if Tff7b72__name__ Tff7b72== Ta5d6ff"Ta5d6ff__main__Ta5d6ff"Tb4b4b4:
Tff7b72raise Tf85149SystemExitTb4b4b4(Te6edf3mainTb4b4b4(Tb4b4b4)Tb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────